Autolinksを使ってGitHubから外部サービスへの参照リンクを効率よく作成してみる
GitHubには自動リンクが貼られるAutolinksがあります。IssueやPRで #XXX
と書き出すことで他のIssueやPRと結び付けられる機能です。個人的にあまり見かけませんが、他にも以下のキーがあります。
- GH
- ユーザ名/リポジトリ#
- Organizations/リポジトリ#
これが兎に角便利なこともあってソースコード管理にはGitHubを推していますが、他のサービスに対してAutolinksがあるといいのにと思っていました。
実はありました。それも結構前から。有料プラン(GitHub Pro、GitHub Team、GitHub Enterprise Cloud、GitHub Enterprise Server)のみ利用可能です。具体的な設定例と気をつけるべき点についてまとめました。
Autolinksのユーザカスタマイズ
リポジトリのSettingsからAutolink referencesを選択します。
Referenceのprefixは以下の制限があります。
- 最初の1文字はアルファベット(大文字と小文字の混合も可)
- 2文字目以降使えるのはアルファベット(大文字と小文字の混合も可)と
-
、:
、/
、#
- 最低3文字
- 末尾に#は必須ではない(付けておくと分かりやすい)
- アンダースコアは使えない
具体例としては次のような構成です。
backlog#
TargetURLには置換するURLを指定します。参照番号を入れる箇所に <num>
を指定します。
具体例としては次のような構成です。
https://test.backlog.jp/view/PROJECTKEY-<num>
適合する場合は以下のような表示がでてきます。
実際に追加すると以下のようになります。
実際にカスタムAutolinksを利用してみる
ReferenceのPrefixとマッチすると、該当テキストに対してTargetURLがリンクとして追加されます。
backlog#1
外部サービスをAutolinksとして追加する
条件としては参照用のキーが番号のみで構成されている前提となります。
上記で挙げていますがBacklogを一例にしてみます。プロジェクトキー先頭三文字内にアンダースコアを含めている場合は短縮が難しくなります。その場合はわかりやすく backlog# 等で指定したほうがよいかもしれません。
あとがき
あくまでもリンクが追加されるだけで、リンク先のアクセスが確保されているわけではありません。日頃から使っているサービスのリンクで、構成がAutolinksの条件とマッチしている場合はいくらか手間が減ります。
確認して出来そうであれば試してみるのも手でしょう。